+2008-06-11 Behdad Esfahbod <behdad@gnome.org>
+
+ Bug 503071 – Application direction changes to right to left even if
+ theres no translation
+
+ * configure.in: Bump glib requirement.
+
+ * gtk/gtkaccellabel.c
+ (_gtk_accel_label_class_get_accelerator_label):
+ * gtk/gtkactiongroup.c (dgettext_swapped):
+ * gtk/gtkbuilder.c (gtk_builder_class_init):
+ * gtk/gtkbuilderparser.c (_dpgettext),
+ (_gtk_builder_parser_translate):
+ * gtk/gtkfilechooserdefault.c (list_size_data_func):
+ * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
+ * gtk/gtkintl.h:
+ * gtk/gtkmain.c (setlocale_initialization),
+ (do_pre_parse_initialization), (gettext_initialization):
+ * gtk/gtkstock.c (gtk_stock_lookup), (sgettext_swapped):
+ Use g_dgettext() and g_dngettext().
+
2008-06-11 Matthias Clasen <mclasen@redhat.com>
* docs/RELEASE-HOWTO: Updates
m4_define([gtk_binary_version], [2.10.0])
# required versions of other packages
-m4_define([glib_required_version], [2.15.0])
+m4_define([glib_required_version], [2.17.1])
m4_define([pango_required_version], [1.20])
m4_define([atk_required_version], [1.13.0])
m4_define([cairo_required_version], [1.6])
strcpy (msg, "keyboard label|");
g_strlcat (msg, tmp, 128);
- str = dgettext (GETTEXT_PACKAGE, msg);
+ str = _(msg);
if (str == msg)
{
g_string_append (gstring, tmp);
dgettext_swapped (const gchar *msgid,
const gchar *domainname)
{
- /* Pass through dgettext if and only if msgid is nonempty. */
+ /* Pass through g_dgettext if and only if msgid is nonempty. */
if (msgid && *msgid)
- return dgettext (domainname, msgid);
+ return (gchar*) g_dgettext (domainname, msgid);
else
return (gchar*) msgid;
}
/**
* gtk_action_group_set_translation_domain:
* @action_group: a #GtkActionGroup
- * @domain: the translation domain to use for dgettext() calls
+ * @domain: the translation domain to use for g_dgettext() calls
*
- * Sets the translation domain and uses dgettext() for translating the
+ * Sets the translation domain and uses g_dgettext() for translating the
* @label and @tooltip of #GtkActionEntry<!-- -->s added by
* gtk_action_group_add_actions().
*
* The translation domain used when translating property values that
* have been marked as translatable in interface descriptions.
* If the translation domain is %NULL, #GtkBuilder uses gettext(),
- * otherwise dgettext().
+ * otherwise g_dgettext().
*
* Since: 2.12
*/
* GNU gettext uses '\004' to separate context and msgid in .mo files.
*/
static const char *
-dpgettext (const char *domain,
- const char *msgctxt,
- const char *msgid)
+_dpgettext (const char *domain,
+ const char *msgctxt,
+ const char *msgid)
{
size_t msgctxt_len = strlen (msgctxt) + 1;
size_t msgid_len = strlen (msgid) + 1;
msg_ctxt_id[msgctxt_len - 1] = '\004';
memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
- translation = dgettext (domain, msg_ctxt_id);
+ translation = g_dgettext (domain, msg_ctxt_id);
if (translation == msg_ctxt_id)
{
/* try the old way of doing message contexts, too */
msg_ctxt_id[msgctxt_len - 1] = '|';
- translation = dgettext (domain, msg_ctxt_id);
+ translation = g_dgettext (domain, msg_ctxt_id);
if (translation == msg_ctxt_id)
return msgid;
const char *s;
if (context)
- s = dpgettext (domain, context, text);
+ s = _dpgettext (domain, context, text);
else
- s = dgettext (domain, text);
+ s = g_dgettext (domain, text);
return g_strdup (s);
}
size = gtk_file_info_get_size (info);
#if 0
if (size < (gint64)1024)
- str = g_strdup_printf (ngettext ("%d byte", "%d bytes", (gint)size), (gint)size);
+ str = g_strdup_printf (g_dngettext (GETTEXT_DOMAIN, "%d byte", "%d bytes", (gint)size), (gint)size);
else if (size < (gint64)1024*1024)
str = g_strdup_printf (_("%.1f KB"), size / (1024.));
else if (size < (gint64)1024*1024*1024)
#ifdef HAVE_BIND_TEXTDOMAIN_CODESET
bind_textdomain_codeset (contexts[i]->domain, "UTF-8");
#endif
- translated_name = dgettext (contexts[i]->domain, contexts[i]->context_name);
+ translated_name = g_dgettext (contexts[i]->domain, contexts[i]->context_name);
}
else
{
#include <glib/gi18n-lib.h>
#ifdef ENABLE_NLS
-#define P_(String) dgettext(GETTEXT_PACKAGE "-properties",String)
+#define P_(String) g_dgettext(GETTEXT_PACKAGE "-properties",String)
#else
#define P_(String) (String)
#endif
#endif
static void
-do_pre_parse_initialization (int *argc,
- char ***argv)
+setlocale_initialization (void)
{
- const gchar *env_string;
-
-#if 0
- g_set_error_handler (gtk_error);
- g_set_warning_handler (gtk_warning);
- g_set_message_handler (gtk_message);
- g_set_print_handler (gtk_print);
-#endif
+ static gboolean initialized = FALSE;
- if (pre_initialized)
+ if (initialized)
return;
-
- pre_initialized = TRUE;
+ initialized = TRUE;
if (do_setlocale)
{
g_warning ("Locale not supported by C library.\n\tUsing the fallback 'C' locale.");
#endif
}
+}
+
+static void
+do_pre_parse_initialization (int *argc,
+ char ***argv)
+{
+ const gchar *env_string;
+
+#if 0
+ g_set_error_handler (gtk_error);
+ g_set_warning_handler (gtk_warning);
+ g_set_message_handler (gtk_message);
+ g_set_print_handler (gtk_print);
+#endif
+
+ if (pre_initialized)
+ return;
+
+ pre_initialized = TRUE;
gdk_pre_parse_libgtk_only ();
gdk_event_handler_set ((GdkEventFunc)gtk_main_do_event, NULL, NULL);
static void
gettext_initialization (void)
{
+ setlocale_initialization ();
+
#ifdef ENABLE_NLS
bindtextdomain (GETTEXT_PACKAGE, GTK_LOCALEDIR);
bindtextdomain (GETTEXT_PACKAGE "-properties", GTK_LOCALEDIR);
if (translate != NULL && translate->func != NULL)
item->label = (* translate->func) (item->label, translate->data);
else
- item->label = dgettext (item->translation_domain, item->label);
+ item->label = g_dgettext (item->translation_domain, item->label);
}
}
* a stock item.
*
* If no function is registered for a translation domain,
- * dgettext() is used.
+ * g_dgettext() is used.
*
* Since: 2.8
*
{
gchar *domainname = data;
- return (gchar *)g_strip_context (msgid, dgettext (domainname, msgid));
+ return (gchar *)g_strip_context (msgid, g_dgettext (domainname, msgid));
}